AI

머신러닝_06_시계열 패턴과 상태 클러스터링

작성자 : Heehyeon Yoo|2026-03-18
# 머신러닝# 시계열# 패턴인식# 클러스터링# 비지도학습

1. 구간 구조로서의 패턴

시계열을 다룰 때 흔히 빠지는 오해가 있다. 특정 시점의 값이 높거나 낮다는 사실만으로도 패턴을 이해할 수 있다고 보는 것이다. 하지만 패턴은 대개 단일 시점이 아니라 구간의 형태에서 드러난다. 완만한 상승, 주기적 반복, 짧은 급등, 긴 정체 같은 성질은 모두 시간 구간 전체를 봐야 보인다.

그래서 시계열 패턴 인식은 숫자 하나를 분류하는 문제라기보다, 일정 구간을 하나의 관측 단위로 바꾸는 문제에 가깝다. 이 구간화가 선행되지 않으면 패턴이라는 말 자체가 성립하기 어렵다. 시계열 분석에서 윈도우 기반 특징 추출이 자주 등장하는 이유도 여기에 있다.

2. 상태 표현과 추상화

시계열은 본래 연속적인 변화 과정이다. 하지만 분석과 의사결정 단계에서는 이 연속성을 그대로 다루기보다 몇 개의 상태로 압축하는 편이 훨씬 유용한 경우가 많다. 상승 구간, 안정 구간, 급변 구간, 이상 구간처럼 구간을 상태로 표현하면 긴 숫자 흐름을 훨씬 간결하게 다룰 수 있다.

여기서 상태는 단순한 라벨이 아니다. 관측값이 놓인 구간적 문맥을 대표하는 요약 표현이다. 상태 표현은 연속 데이터를 해석 가능한 단위로 바꾸는 추상화 과정에 가깝다.

문제는 상태가 관측값에 직접 붙어 있는 속성이 아니라는 점이다. 상태는 보통 특징을 어떻게 정의하느냐, 윈도우를 얼마나 크게 잡느냐, 유사성을 어떤 거리로 측정하느냐에 따라 달라진다. 그래서 상태 표현은 발견되는 것인 동시에 설계되는 것이기도 하다.

3. 윈도우와 특징 벡터

상태 클러스터링의 출발점은 구간화다. 먼저 시계열을 일정 길이의 윈도우로 나누고, 각 윈도우를 평균, 분산, 차분, 기울기, 주기성 지표 같은 특징 벡터로 바꾼다. 그러면 원래의 시간 구간은 다차원 공간의 한 점으로 표현된다.

그다음 비지도 학습은 정답 없는 상태에서 이 점들의 구조를 찾는다. 유사한 특징을 가진 윈도우들이 한 군집으로 묶이면, 그 군집은 하나의 상태 후보가 된다. 이런 관점에서 보면 클러스터링은 단순 군집화가 아니라 "비슷한 시간 구간을 같은 상태로 읽는 방법"에 가깝다.

이 과정이 중요한 이유는 상태를 사람이 미리 다 정의하지 않아도 되기 때문이다. 데이터 내부의 반복 구조가 먼저 드러나고, 해석은 그다음 단계에서 붙는다. 비지도 학습이 상태 발견과 자주 연결되는 이유도 여기에 있다.

최근에는 이 단계가 조금 달라지고 있다. 예전에는 윈도우에서 손으로 만든 특징을 뽑은 뒤 그 위에서 군집을 만드는 방식이 중심이었다. 지금은 시계열 표현 자체를 먼저 학습한 뒤, 그 표현 공간에서 상태를 찾는 접근도 늘고 있다. 또 상태 발견을 단순 군집이 아니라 분할과 해석 문제로 보는 경향도 강해졌다. 어디서 구간이 바뀌는지, 그 구간이 왜 그런 상태로 묶였는지까지 같이 설명하려는 쪽이다.

4. K-Means와 DBSCAN

K-Means는 데이터가 몇 개의 중심 주변에 모여 있다고 가정하고, 각 포인트를 가장 가까운 중심에 배정한다. 계산이 단순하고 빠르지만 군집 개수를 미리 정해야 하며, 이상치에 민감하다. 모든 점을 어떤 군집에든 넣으려는 성질 때문에 경계가 애매한 구간이나 드문 패턴을 억지로 편입시키기도 한다.

DBSCAN은 밀도 기반으로 접근한다. 일정 반경 안에 충분한 이웃이 모인 지점만 하나의 군집으로 인정하고, 그렇지 않은 포인트는 노이즈로 남긴다. 그래서 밀도가 낮은 드문 패턴이나 이상 구간을 분리해 보려는 경우에 더 자연스럽다.

상태 클러스터링 관점에서 보면, K-Means는 "모든 구간을 몇 개 상태로 정리하고 싶다"는 발상에 가깝고, DBSCAN은 "반복적으로 나타나는 상태만 묶고 드문 구간은 별도로 남기고 싶다"는 발상에 가깝다. 어느 쪽이 맞는지는 데이터 구조와 분석 목적에 따라 달라진다.

5. 표현 공간과 거리의 한계

상태 클러스터링이 만능 해법처럼 보이는 이유는, 복잡한 흐름을 몇 개의 상태로 압축해 주기 때문이다. 하지만 이 단순함은 전처리 선택에 크게 의존한다. 윈도우 크기, 정규화 방식, 특징 정의, 거리 함수가 바뀌면 군집 구조도 쉽게 달라진다.

특히 시계열은 단순한 점들의 집합이 아니라 순서를 가진 데이터이기 때문에, 유클리드 거리만으로 모든 유사성을 설명하기 어렵다. 길이가 조금 어긋난 패턴이나 위상이 미세하게 밀린 패턴은 실제로는 비슷해도 거리 기반 클러스터링에서는 멀어질 수 있다. 이런 이유로 Dynamic Time Warping 같은 거리 개념이 별도로 논의되기도 한다.

또한 클러스터가 존재한다고 해서 곧바로 의미 있는 상태가 보장되지는 않는다. 군집은 통계적 구조일 뿐이며, 그 구조가 도메인적으로 해석 가능한지는 별개의 문제다. 결국 상태 클러스터링은 자동 분류기가 아니라, 패턴 가설을 세우고 검증하는 도구에 더 가깝다.

이 지점 때문에 최근 연구에서는 설명 가능성과 사람의 개입도 같이 본다. 군집 성능만 높다고 충분하지 않고, 사람이 결과를 읽고 수정할 수 있는지, 상태 경계가 실제 의미와 맞는지까지 평가하려는 흐름이다. 그래서 시계열 상태 클러스터링은 이제 단순한 비지도 군집화보다, 표현 학습과 해석 가능성이 같이 붙는 문제로 보는 편이 더 현실적이다.

참고 자료